<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script>
        var num = 10;
        fun();

        function fun() {
            console.log(num); //undefined
            var num = 20;
        }
        // 通过预解析相当于执行以下代码：
        // var num;
        // function fun() {
        //     var num; // 这里只声明了但是没有赋值num = undefined
        //     console.log(num); // 根据作用域链机制【就近原则】，这个num是上面的空num
        //     num = 20;
        // }
        // num = 10;
        // fun();
    </script>
</head>

<body>

</body>

</html>